home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / arcers / unzip51.zip / HISTORY.510 < prev    next >
Text File  |  1994-02-06  |  32KB  |  581 lines

  1. UnZip, version 5.1, 7 February 1994
  2.  
  3. New features, you betcha:
  4.  
  5. 5.1a:
  6.  - Amiga:  incorporated "final" Amiga port patches [John Bush, Paul
  7.     Kienitz]
  8.  - Amiga:  replaced DMakefile, attempted to sync with JB patches [Stefan
  9.     Becker, CN]
  10.  - OS/2:  patches to funzip to make it work (except with MSC) [Kai Uwe Rommel]
  11. 5.1b:
  12.  - almost all crypt/password stuff moved to crypt.c and/or crypt.h, and
  13.     dummy versions written:  just replace dummy versions with full ones
  14.     and recompile normally, instead of recompiling with -DCRYPT.  NO MORE
  15.     DUPLICATE MAKEFILES!  NO MORE MAKEFILE EDITING!!  :-)  [CN]
  16.  - TOPS-20:  new port!  [Frank Wancho]
  17.  - Unix, OS/2:  funzip, zipinfo now included in standard make [CN, Kai Uwe]
  18.  - MS-DOS:  updated MSC/Turbo C makefile; added PKLITE option [CN, Jim Reisert]
  19. 5.1c:
  20.  - added -x "exclude files" capability to unzip and zipinfo [CN]
  21.  - OS/2, MS-DOS:  added '\\'-to-'/' conversion for command-line filenames
  22.     after zipfile [Jon Saxton]
  23.  - added "ptx" target to Makefile (for Sequent/Dynix/ptx) [Alan Phillips]
  24.  - renamed "next" target to "next2x"; added "next3x" target to Makefile;
  25.     added generic, all-purpose "next10" target; added descriptive "next"
  26.     target [Mark Adler, CN]
  27.  - Amiga:  added full Amiga-zip support to zipinfo [John Bush, CN]
  28.  - Unix:  added (some) Posix support, touched up Linux stuff [H.J.Lu?]
  29. 5.1d:
  30.  - added warning to unzip and zipinfo if any filespec not matched [CN, Mark]
  31.  - replaced all "byte" typedefs with "uch" to match zip, avoid redefinition
  32.     annoyances [CN]
  33.  - incorporated Atari patches (at last!)--needs testing [Martin Schulz, CN]
  34.  - added -z option (print zipfile comment) to zipinfo [CN]
  35.  - added version-made-by support for TOPS-20 and NTFS systems [CN]
  36.  - improved help screen examples (esp. VMS) [CN, Jean-loup]
  37.  - moved all unzip/zipinfo shared code (aside from OS-specific) to new
  38.     module (shared.c); moved all of remainder in misc.c to file_io.c;
  39.     removed misc.c (no more need for misc_.o{bj} or to include misc.c
  40.     and file_io.c into zipinfo.c) [CN]
  41.  - allowed negative -z option in unzip to remove zipfile comment (printed
  42.     by default if extracting/listing/testing) [CN]
  43.  - updated Where file to include mention of Zip 1.1 [CN]
  44.  - added ability to extract VMS -V text files to screen [Igor]
  45. 5.1e:
  46.  - sysv_gcc Makefile target [Jean-loup]
  47.  - OS/2:  added bunch of new compiler targets to makefile.os2 [Kai Uwe]
  48.  - extract-to directory supported (Unix, OS/2, MS-DOS), mapname completely
  49.     rewritten [CN]
  50.  - added wildcard-zipfile capability (Unix, OS/2, MS-DOS) [CN]
  51.  - incorporated zipinfo into unzip (use -Z option or link to "zipinfo" or
  52.     "ii") [CN]
  53.  - updated and improved unzip and zipinfo help screens [CN]
  54.  - added "No errors detected" message to non-quiet tests (unzip -t) [CN]
  55.  - Atari:  Atari/GCC port! (relative to 5.1d3, anyway) [Chris Herborth]
  56.  - Amiga:  (finally) incorporated John's and Paul's Amiga patches from
  57.     last year; made various arrays (min_info, explode/inflate) static to
  58.     save on Amiga stack space [John, Paul]
  59.  - modified handler() error message to indicate segv/bus error [CN]
  60.  - nextbw (multi-architecture NeXTstep binary) Makefile target [Denise Blakeley]
  61.  - yet another new (and smaller) version of match.c, swiped from zip [original
  62.     undoubtedly by Mark, modified for unzip by Paul Kienitz]
  63. 5.1f:
  64.  - added gzip support to funzip [Mark, from last May; forgot to put into 5.1e]
  65.  - converted unzip and funzip from open()/write() to fopen()/fwrite() [CN]
  66.  - moved crc_32_tab[] and ebcdic[] to tables.h (used by both file_io.c and
  67.     funzip.c), and incorporated shared.c into file_io.c (still to do:  split
  68.     zipfile-header routines into headers.c?) [CN]
  69.  - made small modification to FillBitBuffer to improve performance on 64-bit
  70.     machines (Alpha, Cray, etc.) [Martin Schulz]
  71.  - rewrote text-conversion (ASCII/EBCDIC, EOL) stuff and flush() routine [CN,
  72.     possibly also Johnny Lee]
  73.  - NT:  tweaked/fixed NT port [Martin Schulz]
  74.  - MS-DOS:  split makefile into makefile.tc and makefile.msc; removed all
  75.     Borland project files [CN, Jean-loup]
  76.  - Unix:  added uninstall target; changed MANDIR location to /usr/local/man/man1
  77.     by default [Eric Raymond, Jean-loup, CN]
  78.  - Unix:  added volume-label "support" (skip) [CN]
  79.  - OS/2:  added full volume-label support for floppy drives only [CN]
  80.  - MS-DOS:  added volume-label support for floppy drives only; Borland stuff
  81.     still needs a little work, and djgpp not supported at all [Bob Babcock, CN]
  82.  - MS-DOS:  added DOSWILD compile option for special handling of "*.*" and "*."
  83.     [CN, Jean-loup, Piet Plomp]
  84.  - (mostly MS-DOS):  added NO_ZIPINFO compile option so that small-memory
  85.     machines can still compile unzip in small model--automatically set for
  86.     small-model MS-DOS and OS/2 compiles; restored appropriate makefile entries
  87.     to small model [CN, Jean-loup]
  88.  - Unix:  added sco_sl (shared libraries) target to Makefile [Bill]
  89.  - changed extract-to behavior to use -d exdir; added OLD_EXDIR define to com-
  90.     pile with old behavior [CN]
  91.  - created first attempt at INSTALL document [CN]
  92.  - updated and cleaned up the main usage screen (new -b option, generic -a
  93.     option, change in -d and exdir syntax) [CN]
  94.  - replaced hoary ReadByte() function with new NEXTBYTE macro; 35-70% speedup!
  95.     [Jean-loup, CN]
  96.  - replaced funzip's ReadByte() function with new NEXTBYTE macro; updated main
  97.     Makefile and makefile.os2 to use inflate_.o (sigh) [CN]
  98.  - incorporated FillBitBuf() into READBITS macro [CN]
  99.  - streamlined memextract(); removed ReadMemoryByte() and mem_[oi]_* vars;
  100.     removed UpdateCRC() [CN]
  101.  - Human68k:  created new source subdirectory for Human68k; incorporated
  102.     patches (mostly) and added new makefile and source files [NIIMI Satoshi, CN]
  103.  - VMS:  incorporated Igor's new code with GRR 5.1e changes (well, sort of),
  104.     including Igor's VMS do_wild and mapname/checkdir routines [Igor, CN]
  105.  - revised all makefiles to use OS-specific code in place; changed all OS dirs
  106.     to lowercase to match zip's; moved Unix-specific code to new "unix" dir [CN]
  107. 5.1g:
  108.  - filenames and comments now filtered for control characters [CN]
  109.  - auto-text conversion NOT default again; -b removed and -aa added [CN,
  110.     Jean-loup]
  111.  - added inflate_free() to unzip and funzip [Mark]
  112. 5.1h:
  113.  - MS-DOS:  added "non-MSDOS external file attributes" field to zipinfo -v
  114.     output (for debugging AV archives) [CN]
  115.  - removed [text]/[binary] messages except for -a (auto) mode; added [empty]
  116.     message for zero-length files; changed symlink "extracting" message to
  117.     "linking" [CN, Mark]
  118.  - Unix:  added zipinfo target to Makefile to sidestep old habits which don't
  119.     work (try "make file_io" for an example) and make automatic hard link;
  120.     added unix_make dependency to allow "make -f unix/Makefile" even for 
  121.     recursive makes (only under Unix, though) [Bill]
  122.  - VMS:  updated VMS.notes -> README [CN]
  123.  - OS/2, NT, MS-DOS:  added -$ option for writing volume labels (floppies only);
  124.     -$$ for writing labels to hard disks, too [CN]
  125. 5.1i:
  126.  - MS-DOS:  added true detection of floppies/removables via DOS function 44h;
  127.     changed usage screen slightly [CN, Bruce Kahn]
  128.  - NT:  changed lots of DOS_OS2's to DOS_NT_OS2's, plus other changes in prep-
  129.     aration for full NT port [Henry Gessau]
  130.  - Unix:  added 7300_gcc target [James Birdsall]
  131.  - Amiga:  replaced amiga/ subdir with all-new version and made final fixes to
  132.     unzip.h and crypt.h (full port is done at last!) [John Bush, Paul Kienitz]
  133.  - restored -b option as undocumented shortcut for ---a [CN]
  134.  - Human68K:  almost full port (compiles, at least :-) [NIIMI Satoshi]
  135.  - Unix:  changed rtaix target to aix to match zip [Mike Bernardi]
  136.  - Unix:  added pixel and v7 targets [Aubrey Jaffer]
  137. 5.1j:
  138.  - OS/2:  added smart detection of floppies/removables [Kai Uwe, CN]
  139.  - MS-DOS:  added MKS environment-variable argument processing [Rich Wales]
  140.  - MS-DOS:  added "near" here and there for large-model compiles [Henry]
  141.  - added more "smartness" for seeking on mangled zipfiles [CN]
  142.  - added some (old) inflate huft_build() optimizations [Christian Ghisler]
  143. 5.1k:
  144.  - [none]
  145. 5.1L:
  146.  - VMS:  finished port *and* docs! [Igor]
  147.  - NT:  finished port! [Henry]
  148. 5.1m:
  149.  - added crypt.c ifdef to allow passwords to be read from stdin [Jean-loup]
  150.  - Mac:  brand-new port! [Antoine]
  151.  - Atari:  brand-new port! [Chris Herborth]
  152.  - VMS:  combined make_gcc.com and make_vaxc.com into super make.com [Hunter]
  153. 5.1n:
  154.  - Unix:  added/touched up BSDI BSD/386 port [Paul Borman]
  155.  - Amiga:  new SMakefile [John Bush]
  156. 5.1o:
  157.  - MS-DOS:  djgpp volume label support, etc. [Onno]
  158.  - experimental code [CN, Paul Roub]
  159.  - new MS-DOS README file with warnings about various compiler bugs [CN]
  160. 5.1p:
  161.  - MS-DOS, OS/2:  added emx+gcc 32-bit MS-DOS port (via cross-compilation from
  162.     OS/2; see makefile.os2) [Kai Uwe]
  163.  - finished writing/updating all docs; set release dates appropriately [CN]
  164.  
  165. Bugs fixed:
  166.  
  167. 5.1a:
  168.  - cleaned up SysV defines in unzip.h [CN]
  169.  - fixed sco target to make sure UNIX and SYSV defined under Xenix; added
  170.     xenix target [Paul Telles, Jean-loup, CN]
  171.  - fixed prototype bug on Sequent [Bob Bond]
  172.  - eliminated Convex c120, c210 targets; replaced convex target, using
  173.     __convexc__ in unzip.h [Rafal Maszkowski]
  174.  - fixed 386BSD filetime routines, removed unsupported djgcc dateformat
  175.     call, added bcc_dos, zi_bcc and zi_djgcc targets, renamed zi_dos to
  176.     zi_msc [Onno van der Linden]
  177.  - MS-DOS:  fixed zi_msc target to use /e link-flag and not -G2 compiler
  178.     flag by default [Piet Plomp]
  179.  - renamed hp_ux target to hpux to match zip; added to help list [CN]
  180.  - added exit(0) to funzip.c to avoid gnutar problem [Joe Tam]
  181.  - updated Where file [CN, Jean-loup]
  182.  - MS-DOS/Windows:  fixed DISPLAY bug in misc.c [Johnny Lee]
  183.  - renamed thinkc.rsrc.hqx to thinkc_rsrc.hqx in order to avoid fatal bug
  184.     in SHEZ80 (MS-DOS zip-viewing util)--only distribution file with two
  185.     dots [Jean-loup]
  186. 5.1b:
  187.  - MS-DOS:  fixed (I hope) bug with Borland C and #if !defined() [Hogan Long]
  188.  - fixed funzip.1 to note consequence of first-member-only behavior when
  189.     first member is a directory [John Bush, CN]
  190.  - final Convex fixes to Makefile, unzip.h, crypt.c [Rafael Pappalardo, CN]
  191.  - fixed Sequent macro in unzip.h, modified Makefile to allow parallel makes
  192.     [Jason Merrill]
  193.  - Amiga:  various unzip/zipinfo patches; new makefiles [John Bush]
  194.  - TOPS-20:  small optimizations, bugfixes [Frank Wancho, CN]
  195.  - some code cleanup (extraneous AMIGA+UNIX, dup, FFLUSH, etc.) [CN]
  196.  - attempted to fix AT&T 6300+ SysV bug with -DMALLOC_WORK [CN]
  197. 5.1c:
  198.  - renamed Readme to README as per comp.sources.misc guidelines [CN]
  199.  - TOPS-20:  revised *.mic command files, jfn file_io.c code [Frank Wancho]
  200.  - added "Caution: zero files tested" message to -t output (not just -tq) [CN]
  201.  - renamed crc32 macro in zip.h/crypt.c to CRC32 to avoid conflict with
  202.     lrec.crc32 in unzip [Jean-loup]
  203.  - fixed bug with -a where CRC was calculated incorrectly [CN]
  204.  - added man pages to install target; added "docs" and "unzipsman" targets [CN,
  205.     Jean-loup]
  206.  - fixed zipinfo/funzip bug in sysv6300 Makefile target [Peter Mauzey]
  207.  - changed all "return #" to "return PK_XXXX" [CN]
  208.  - made HSIZE (rather than HSIZE+2) default until we see who breaks [Mark, CN]
  209.  - made DECLARE_ERRNO non-default (except for MSC 5.0 and earlier) [CN, Bill
  210.     Davidsen]
  211.  - fixed Bull byte problem in unzip.h, Makefile [CN, Matthew D'Errico]
  212.  - MS-DOS:  changed all occurrences of -Ox to -Oait -Gs in MSC targets of
  213.     Makefile; removed overlooked -G2 in MSDOS/makefile [Jean-loup]
  214.  - MS-DOS:  fixed gcc_dos target; removed recent parallel-make modification
  215.     because of MS-DOS make utility breakage [Onno van der Linden]
  216.  - MS-DOS, OS/2:  changed MSDOS definition to exclude OS/2 (use DOS_OS2 or OS2
  217.     instead) [CN]
  218.  - fixed const problem for NeXT 3.0 in file_io.c [Mark]
  219.  - fixed ZL2, FL2 Makefile macros to be same as LF2 by default [CN]
  220.  - #included crypt.c into funzip.c for MS-DOS (Borland problems) [CN]
  221.  - #included file_io.c and misc.c into zipinfo.c for all systems (code
  222.     duplication, makefile simplification) [CN]
  223.  - added SGI to list of systems on which not to redeclare open() in crypt.c
  224.     [CN]
  225.  - VMS:  fixed prototypes for echo() [Mike Freeman]
  226.  - OS/2:  updated makefile, unzip.def; removed zipinfo.def; removed extern
  227.     declaration of keys[] from unzip.h [Kai Uwe, CN]
  228.  - Amiga:  latest Lattice/Aztec C fixes (perms, filetimes, etc.) [John Bush,
  229.     Paul Kienitz]
  230.  - changed ULONG/UWORD to ulg/ush to match zip and avoid collisions with
  231.     Amiga and OS/2 typedefs [CN]
  232.  - removed redundant dos_attr and unix_attr, changed to file_attr, rewrote
  233.     attributes section of store_info(), and added mapattr() routines [CN]
  234.  - moved all OS-specific code out of file_io.c, etc., and into local files
  235.     (msdos.c, os2.c, vms.c, amiga.c, etc.) [CN]
  236.  - improved inflate() and explode() error messages (out of memory, bad huffman
  237.     tables); renamed inflate_entry() to inflate() (and removed old version)
  238.     [Mark, CN]
  239.  - added ifdef'd code to deal with buggy PKZIP betas (PKZIP_BUG_WORKAROUND)
  240.     [Jean-loup]
  241.  - cleaned up time headers and typedefs [CN]
  242.  - MS-DOS:  updated MSC/TCC makefile (CHECK TURBO C HALF) [Jean-loup, CN]
  243.  - fixed a comment in inflate.c [Mark]
  244.  - added RAND_HEAD_LEN, uch definitions to zip.h/unzip.h to match Jean-loup's
  245.     zip changes [CN]
  246. 5.1d:
  247.  - moved Makefile "funny comment" to avoid echo during build [Mark, CN]
  248.  - modified unzip.c, funzip.c to use new zdecode macro [Mark, CN]
  249.  - fixed decryption bug (ReadByte/testp doing double decryption of header) [CN]
  250.  - changed all usages of "UNIX" to mean Unix only, not Unix+VMS+TOPS-20 [CN]
  251.  - OS/2:  moved some extern declarations to unzip.h, cleaned up os2.c, fixed
  252.     file_io.c bug, fixed makefile.os2 [Kai Uwe, CN]
  253.  - MS-DOS:  fixed various djgcc bugs, removed some unused variables, updated
  254.     MS-DOS targets in Makefile [Onno]
  255.  - fixed compressed-symlinks bug (at last!) [Martin Schulz, CN]
  256.  - renamed all zipinfo S_IFxxx defines to UNX_IFxxx to avoid redefinition
  257.     problems on Apollo, Amiga, etc. (still have S_IXUSR, etc., but wait with
  258.     those and see what breaks) [CN]
  259.  - fixed inverted ecrec offsets reported by zipinfo -v (real, expected were
  260.     mislabelled) [CN]
  261.  - VMS:  fixed some write/error stuff in vms.c [Igor]
  262.  - fixed bug with -q/bad-CRC error message; changed -q behavior to skip
  263.     "extracting:" messages (same as -qq; matches -t option more closely) [CN]
  264.  - fixed persistent double-dot name in MAC sub-archive (argh!) [Jean-loup]
  265.  - fixed some crypt.c and extract.c casts, replaced MSDOS/tcc project files
  266.     [Jean-loup]
  267.  - moved RAND_HEAD_LEN definition to crypt.h [CN]
  268.  - added VMS mapattr() routine to map Unix perms -> VMS attribs [Igor, CN]
  269.  - updated dnix Makefile target, added compiler-bug work-around [Bo Kullmar]
  270. 5.1e:
  271.  - added missing definition of RAND_HEAD_LEN to dummy crypt.h [CN, Mark, Rafal]
  272.  - ifdef'd out fcntl.h in crypt.c for unzip [Jean-loup]
  273.  - removed unused variable in file_io.c [CN]
  274.  - fixed extra "%s" in unzip.c, removed some Borland warnings from extract.c,
  275.     updated MSDOS Makefile entries [Onno]
  276.  - fixed dnix comments in Makefile [Bo]
  277.  - moved definition of `key' into crypt.c; removed dependency on crypt.h for
  278.     unzip.c [CN]
  279.  - updated sources and usage screen with new addresses; cleaned up/rewrote
  280.     README file [CN]
  281.  - updated OS/2 makefile (new targets) [Kai Uwe]
  282.  - updated MS-DOS tcc/zipinfo.prj [Glenn Andrews]
  283.  - put in alternate fix for <sys/param.h> BSD redefinitions; temporarily
  284.     commented out NO_PARAM_H for Minix, 386BSD, etc. [CN, Marcelino Enriquez]
  285.  - changed "Extracting," "Inflating," etc., messages to lowercase to match
  286.     zip [CN]
  287.  - added Atari to auto-lowercasing list [Chris Herborth?]
  288.  - added necessary typecasts to work under Amdahl "EFT" system [CN]
  289.  - fixed inflate.c to work with slightly modified PKZIP 2.04c format; fixed
  290.     incorrect return value; added code to fix funzip EOB bug [Mark]
  291.  - added two parentheses to unix.c to avoid gcc warnings [Onno]
  292.  - replaced fseek in funzip.c [Mark]
  293.  - updated some comments and removed a debug statement in inflate.c [Mark]
  294.  - fixed (and improved?) ZMEM stuff for Pyramid [CN]
  295.  - fixed bug in non-Mac version of ASCII conversion code [Ron Henderson]
  296.  - fixed unzip so error on "foo" results in check of "foo.zip", too, before
  297.     quitting with error message [CN]
  298.  - fixed too-long usage string in unzip.c [CN, Jean-loup]
  299.  - fixed error handling in process_zipfiles [CN]
  300.  - got rid of annoying longint typedef [CN]
  301.  - fixed/improved Turbo C++ 1.0 support in makefile.bcc [Kevin Fritz]
  302.  - added Convex to the list for fcntl.h in crypt.c and noted possible open/
  303.     ttyname compiler bug [Rafal Maszkowski]
  304.  - added HP/UX to list of systems for which to define UNIX [Mike Peterson]
  305.  - fixed a bunch of SysV.4/MS-DOS warnings (errors?) [Jean-loup]
  306.  - added macfstest call to macmkdir in mac.c for MPW hfsflag [Steve Hanna]
  307.  - fixed Minix outfd bug, #defined UNIX for Minix, updated minix Makefile
  308.     target [Bruce Evans]
  309.  - made <termios.h> default for TERMIO ifdef (Posix); see what breaks...
  310.     [CN, Bruce Evans]
  311.  - fixed some inflate error messages (c10.5) [Mark]
  312.  - added -DNODIR to 7300 Makefile target [CN]
  313.  - fixed return-value of PK_NOZIP (9) bug [CN]
  314.  - MS-DOS:  commented out opendir/readdir in msdos.c for Borland C (already has
  315.     them) [CN, Michael Lawler]
  316.  - added 14-char path-component truncation if SHORT_NAMES defined [CN]
  317.  - changed cray_cc/cray targets to cray/cray_scc [CN]
  318.  - MS-DOS:  changed makefiles to use compact model for now (project files
  319.     unchanged), until put strings in far data area [CN]
  320. 5.1f:
  321.  - removed automatic definition of NO_MKDIR for SysV (apparently they've
  322.     joined the real world...) [Piet Plomp, CN]
  323.  - added some (uch) typecasts to match.c [CN, Piet Plomp]
  324.  - MS-DOS:  changed *_dos Makefile targets to use compact model [Piet Plomp]
  325.  - changed default LD to be $(CC) instead of cc [CN]
  326.  - cleaned up unzip.h--each OS gets own section [CN]
  327.  - fixed some DNIX defines [Bo Kullmar, CN]
  328.  - switched back to strnicmp for zipinfo detection [Paul, CN]
  329.  - cleaned up unix.c direct/dirent stuff [Onno]
  330.  - fixed error level if a CRC fails [Jean-loup, CN]
  331.  - made termios.h conditional again (fails under Sun SysV, SVR4) [Jean-loup]
  332.  - added more specific checking of explode() return codes [CN]
  333.  - renamed decrypt_member() to decrypt() and added "newzip" global to avoid
  334.     using old password on new zipfiles [CN, Jean-loup]
  335.  - finished zipinfo-izing all remaining S_Ixxxx macros and moved to zipinfo.c
  336.     [CN, Dave Begley]
  337.  - removed UNIX zip kludge in crypt.c [Jean-loup, CN]
  338.  - removed bogus dot in volume-label names when listing/extracting/testing [CN]
  339.  - MS-DOS:  removed default definition of MSC; added sys/timeb.h to djgpp
  340.     stuff; enabled timezone calcs for djgpp [Jean-loup]
  341.  - MS-DOS:  fixed opendir() bug with "d:" path and possible bug with "d://*.*";
  342.     also fixed minor memory leak [CN]
  343.  - OS/2:  fixed opendir() bug with ".." path; eliminated many strlen() and
  344.     strcat() calls [CN]
  345.  - fixed missing termination of dirname[] in do_wild (all versions so far) [CN]
  346.  - fixed compression factor calculation (allow negative factors); added ratio()
  347.     function [CN, Jean-loup]
  348.  - added #ifdef UNZIP around extern int newzip in crypt.h [Hunter]
  349.  - MS-DOS:  changed *_dos Makefile back to small model [CN]
  350.  - fixed "anonymous" error messages (i.e., no zipfile name when doing wildcard
  351.     tests) and added count of non-zipfiles (no central directory) to summary
  352.     line [CN, Jean-loup]
  353.  - removed inclusion of limits.h for Pyramid [Kevin Fritz]
  354.  - MS-DOS:  fixed -ocrypt_.obj in makefile.bc; added inflate_.obj [Kevin Fritz,
  355.     CN]
  356.  - OS/2, MS-DOS:  fixed -s flag (meaning was reversed) [Kevin Fritz]
  357.  - added various typecasts to appease the god of Borland [Kevin Fritz, CN]
  358.  - OS/2, MS-DOS:  worked around MSC stat() bug (stat(non-existent-dir) == 0)
  359.     [David Robinson]
  360.  - OS/2, MS-DOS, VMS:  worked around Borland/Watcom/VMS (or just VAX C?) bugs
  361.     (stat(wildcard) == 0); added iswild() function to match.c, based on zip's
  362.     isshexp() (included special Amiga "#?" pattern for future bugs :-) ) [CN,
  363.     Jean-loup, Mark, Thomas Opheys]
  364.  - fixed -c "disk full" bug (fclose(stdout)) [CN]
  365.  - changed all memset() calls to memzero() macro to avoid future bugs with
  366.     bzero systems [CN]
  367.  - fixed Unix wildcard bug:  "*" matched ".*" files [CN]
  368. 5.1g:
  369.  - added -I. to all Makefile targets which redefine CF [Piet, CN]
  370.  - added some typecasts to memextract in extract.c [Piet, CN]
  371.  - removed bogus ';' from NEXTBYTE macro [Rafal]
  372.  - Unix:  defined DIRENT for Convex in unix/unix.c [Rafal]
  373.  - put a (char *) typecast back into crypt.c for Convex [Rafal]
  374.  - Unix:  defined DIRENT for SCO Unix in unix/unix.c [Piet]
  375.  - added clone strnicmp() function for SCO Unix and dnix [CN]
  376.  - NeXT:  added some parentheses to avoid warning; #defined strnicmp [Mark]
  377.  - OS/2, MS-DOS:  fixed text-conversion bug (^Z stripped) [Kevin, CN]
  378.  - changed outcnt to long to avoid problems with 16-bit ints (compare with
  379.     WSIZE); changed flush(), updcrc() args to long, ulg, respectively [CN]
  380.  - MS-DOS:  fixed makefiles to work with new subdirectory structure; added
  381.     STRIP to makefile.bc and removed too-long warning options [CN, Kevin]
  382.  - removed bogus newlines from "comment ends" messages in zipinfo [CN]
  383.  - updated makefiles (yet again):  added tables.h, fixed(?) subdirs [CN]
  384.  - fixed "unzip -t .\*" message ("2 files had no zipfile directory") [CN]
  385. 5.1h:
  386.  - Atari, Human68k, MS-DOS, NT, OS/2:  fixed interpretation of MS-DOS external
  387.     attributes (including Borland "warning:  file attributes may not be correct"
  388.     message on AV archives) [CN, Kevin]
  389.  - defined NO_STRNICMP for all SYSV systems [Larry Jones]
  390.  - changed "file"/directory message to "zipfile"/directory [CN, Kevin]
  391.  - added -I. to all CFLAGS, as was meant to be done in 5.1g... [CN, Piet]
  392.  - added MED_MEM variant to SMALL_MEM stuff for compact/large/huge models
  393.     where can't malloc > 64K [Piet, CN]
  394.  - MS-DOS:  Borland C++ 2.x doesn't have opendir/readdir, so renamed ours and
  395.     made default for everybody; also (for GNU make) changed leading spaces to
  396.     tabs in makefile.bc and default STRIP from rem to echo in all MS-DOS
  397.     makefiles [Jim Dumser, CN]
  398.  - renamed inflate.?.bkfl to inflbkfl.? [Jim Dumser]
  399.  - MS-DOS:  fixed GETDRIVE macro for Borland compiler (off by one => labelling
  400.     wrong/hard disks unintentionally); fixed IZ_VOL_LABEL error check in 
  401.     mapname() [Kevin, CN]
  402.  - fixed signed/unsigned problems with flush/Fwrite/outcnt/size [Henry]
  403.  - now include limits.h only if MODERN defined [CN, Jim Dumser]
  404.  - made volume-label skipping no longer a warning [Kevin]
  405.  - rearranged usage screen and fixed some missing VMS quotes [CN]
  406.  - added "g = " to 3 null getc(in) loops in funzip.c (Borland warnings) [CN,
  407.     Kevin]
  408.  - OS/2, MS-DOS:  fixed -f bug with read-only files [CN]
  409.  - MS-DOS:  fixed fwrite/setvbuf bug (MSC only?); made USE_FWRITE mandatory
  410.     for MS-DOS, OS/2, NT (all non-Unix?) [CN]
  411.  - fixed "zipfile was directory" bug when no zipfiles found [CN]
  412.  - fixed various compiler warnings, etc. [Bill Davidsen, CN]
  413.  - moved old.c and dummy_do_wild.c into oldmapname.zip and renamed to
  414.     porting.zip; removed backfill stuff until 5.2 betas [CN]
  415. 5.1i:
  416.  - MS-DOS:  fixed missing '>' in makefile.msc [Piet]
  417.  - MS-DOS:  fixed too-large malloc value (0xFFF0 -> 0xFF80) [Piet]
  418.  - Unix:  removed strrchr/rindex definition for Pyramid [Geraldo Veiga]
  419.  - MS-DOS:  reduced MSC stack size slightly (4k -> 3k) to avoid inflate out-
  420.     of-memory errors [CN]
  421.  - MS-DOS:  changed all makefiles to use small model for funzip [Piet, CN]
  422.  - fixed Cray inflate.c bug (huft_build() l macro) [CN]
  423.  - MS-DOS:  removed forgotten #ifndef __BORLANDC__ (opendir) [Jim Dumser]
  424.  - OS/2:  fixed "os2\unzip16.def" in makefile.os2, SizeOfEAs() inclusion for
  425.     small-model OS/2 compiles, and incorrect stat()-bug workaround for MSC [CN]
  426.  - Unix:  fixed missing ';' in NO_DIR code; added NO_MKDIR and NO_STRNICMP to
  427.     7300 target [CN]
  428.  - MS-DOS:  fixed extra "msdos.obj" in makefile.tc [James Birdsall]
  429.  - Unix:  added NO_STRNICMP for Sun 386i [Piet]
  430.  - Unix:  restored Pyramid strrchr/rindex definition if BSD (default) defined;
  431.     modified pyramid target for auto-detection of BSD vs. AT&T universes (also
  432.     added "hidden" pyr_ucb and pyr_att targets); moved ZMEM/memcpy/bcopy section
  433.     after string.h to avoid errors due to macros [CN, Jean-loup, Kevin]
  434.  - MS-DOS, OS/2:  disallowed brackets from FAT filenames [who?]
  435.  - MS-DOS:  removed suggestion to use msc_dos target of unix/Makefile from
  436.     msdos/Contents [James Birdsall]
  437.  - MS-DOS:  delete *.ob files before renaming .obj files in makefile.tc; added
  438.     "clean" target [Paul Manno]
  439.  - fixed NULL input bug (when stdin redirected to /dev/null) [Rodney Brown]
  440.  - updated help screen and docs to use new addresses (wkuvx1.wku.edu instead
  441.     of wkuvx1.bitnet) [CN]
  442.  - fixed small bug in -d option (filespecs not set) [CN]
  443.  - fixed spelling error in unzip.1/zipinfo.1 [Mark Hanning-Lee]
  444.  - use strncasecmp if __386BSD__ [Onno]
  445.  - OS/2:  fixed os2/unzip.def lines and removed C Set/2 optimization on crypt.c
  446.     (optimization bug on keys[1]) [CN, Kai Uwe, Art Pina]
  447.  - OS/2:  changed all "*.*" to "*" in opendir() [Kai Uwe]
  448. 5.1j:
  449.  - Unix:  removed spaces from _v7 target and fixed secondary target [Bo]
  450.  - Unix:  tricky-fied unix_make target to avoid do-nothing warnings [CN]
  451.  - MTS:  fixed up port [Antoine]
  452.  - OS/2:  fixed incorrect removal of VMS version numbers [Henry]
  453.  - MS-DOS:  removed bogus, overlooked "main" code in msdos.c [Glenn Andrews]
  454.  - AOS/VS:  utime() warning, inflate.c typecast for Data General [Dave Lovelace]
  455.  - VMS:  fixed CR/LF at 2048 boundary bug [Igor]
  456.  - OS/2, MS-DOS:  changed STAT to SSTAT (like zip) to avoid somebody's compiler
  457.     warnings [CN]
  458.  - Unix:  use strncasecmp instead of strnicmp for Linux [Karel Kubat]
  459.  - OS/2:  fixed several map2fat bugs [CN, Henry]
  460.  - MS-DOS:  changed all makefiles to use large memory model by default [CN]
  461. 5.1k:
  462.  - MS-DOS:  ifdef'd declaration of environ in envargs.c for MSC [Piet]
  463.  - added extent typecasts to funzip.c fwrite() tests (MSC warnings) [CN, Piet]
  464.  - MS-DOS:  fixed unzip -a signed/unsigned bug on files > 32KB ("disk full")
  465.     [CN, Piet]
  466. 5.1L:
  467.  - VMS:  included missing vms.h; removed VMSmunch.h [CN, Igor]
  468.  - MS-DOS:  fixed comment in makefile.msc [James Birdsall]
  469.  - MS-DOS:  changed block_length to long in file_io.c and made loop variable
  470.     register class [Javier Manero, CN]
  471.  - MS-DOS:  fixed funzip LDFLAGS in makefile.tc [James Birdsall]
  472.  - removed unused 'p' variable in zi_long() [Piet]
  473. 5.1m:
  474.  - MS-DOS:  fixed funzip model-mixing in makefile.bc [Kevin Fritz]
  475.  - Unix:  fixed NO_DIR define in 7300_gcc target [James Birdsall]
  476.  - Unix:  fixed incorrect single quote in help target [Jean-loup]
  477.  - changed error about compressed length to warning under some conditions;
  478.     reduced static string space slightly [CN, Jean-loup, Mark]
  479.  - Unix:  defined __386BSD__ if __NetBSD__ is defined [Onno]
  480.  - VMS:  don't redefine XAB struct if using gcc and Pat Rankin's replacement
  481.     headers [Mike Freeman]
  482.  - VMS:  various Alpha fixes (vms.h, vms.c, descrip.mms) [Hunter]
  483.  - Amiga:  added ifdef for EPIPE to dummy version of crypt.h [Paul Kienitz]
  484.  - Amiga:  fixed shift bug in mapattr() [Paul]
  485.  - changed comment_bytes_left to long in file_io.c to avoid type mismatch
  486.     [Piet]
  487.  - VMS:  fixed make_gcc.com to find include files on vms.c [CN, Mike Freeman]
  488.  - added better checks for EOF and error-on-read [CN, Anthony Naggs, Phil H.]
  489.  - fixed incorrect used_csize calculation in explode.c [Mark]
  490.  - VMS:  fixed "*.[ch]" non-match bug [CN, Mike Freeman]
  491.  - VMS:  made VMS-version-checking a compilable option, off by default [CN]
  492.  - added typecast to return value in recmatch() [John Bush]
  493.  - VMS:  remove MS-DOS ^Z at end of file for text conversions [Igor]
  494. 5.1n:
  495.  - added typecast to used_csize in extract.c [Piet]
  496.  - VMS:  fixed incorrect dir in make.com [Mike Freeman]
  497.  - VMS:  fixed auto-appending of ".zip" and inability to create second-level
  498.     directories; tweaked descrip.mms [Igor]
  499.  - MS-DOS:  defined MSC in makefile.msc (for MSC 5.1); added msdos.c typecast
  500.     [Anthony Naggs]
  501.  - removed CG inflate patches [Mark, CN]
  502.  - MS-DOS:  defined NO_STRNICMP for djgpp [Onno]
  503.  - Mac:  replaced thinkc.hqx (fixed link order) [Antoine]
  504.  - Unix:  fixes for Coherent 4.x [Fred Smith]
  505.  - Unix:  defined _BSD for osf1 target; included utime.h for (PS/2) AIX [???]
  506.  - Amiga:  "picky diffs" to Amiga-specific files [Paul]
  507. 5.1o:
  508.  - fixed incorrect test of open() return value [Meiwei Wu]
  509.  - OS/2:  boosted stacksize to 0x50000 to avoid LINK386 warnings [CN]
  510.  - VMS:  fixed prototype/declaration mismatches (flush(), close_outfile())
  511.     [Mike Freeman, CN]
  512.  - removed a tab in funzip.c and several in unzip.h; corrected several
  513.     bad wordings/typos in docs [James Birdsall]
  514.  - NT:  fixed missing fcntl.h for funzip [James Birdsall]
  515.  - VMS:  clarified docs on -d option [CN]
  516.  - OS/2:  added typecast, fixed MSC model in makefile [Kai Uwe]
  517.  - MS-DOS:  changed "MODEL = L" to "MODEL=L" in makefile.msc [Jean-loup]
  518.  - MS-DOS:  moved undef of FILENAME to top of msdos.c (djgpp as well as BC)
  519.     [CN, Jean-loup]
  520.  - fixed printf() long/short mismatch in unzip.c and initialized "g" variable
  521.     in funzip's main() to avoid gcc warning [Jean-loup, CN]
  522.  - removed NO_STRNICMP stuff and renamed ours to zstrnicmp:  use it for all
  523.     systems [CN, Jean-loup]
  524. 5.1p:
  525.  - OS/2:  changed -Zmt to -Zmtd in makefile.os2 for emx 0.8g+; fixed
  526.     incorrect DosOpen param declarations for 32-bit [Jon Saxton]
  527.  - OS/2:  added comment about Watcom '/' '\' problem in makefile.os2;
  528.     added PIPE_ERROR fix [Kai Uwe]
  529.  - Unix, MS-DOS:  added .SUFFIXES to unix/Makefile for GNU make [CN]
  530.  
  531.    ...
  532.  
  533. ==================
  534.  
  535. Early revision history of vms.c (moved here to keep size of source file down):
  536.  
  537.      1.0-1   Mandrichenko    16-feb-1992
  538.              Recognize -c option
  539.      1.0-2   Mandrichenko    17-feb-1992
  540.              Do not use ASYnchroneous mode.
  541.      1.0-3   Mandrichenko    2-mar-1992
  542.              Make code more standard
  543.              Use lrec instead of crec -- unzip4.2p does not provide
  544.              crec now.
  545.      1.1     Mandrichenko    5-mar-1992
  546.              Make use of asynchronous output.
  547.              Be ready to extract RMS blocks of invalid size (because diff
  548.              VMS version used to compress).
  549.      1.1-1   Mandrichenko    11-mar-1992
  550.              Use internal file attributes saved in pInfo to decide
  551.              if the file is text.  [GRR:  temporarily disabled, since
  552.              no way to override and force binary extraction]
  553.      1.1-2   Mandrichenko    13-mar-1992
  554.              Do not restore owner/protection info if -X not specified.
  555.      1.1-3   Mandrichenko    30-may-1992
  556.              Set revision date/time to creation date/time if none specified
  557.              Take quiet flag into account.
  558.      1.1-4   Cave Newt       14-jun-1992
  559.              Check zipfile for variable-length format (unzip and zipinfo).
  560.      1.2     Mandrichenko    21-jun-1992
  561.              Use deflation/inflation for compression of extra blocks
  562.              Free all allocated space
  563.      1.2-1   Mandrichenko    23-jun-1992
  564.              Interactively select an action when file exists
  565.      1.2-2   Mandrichenko    6-oct-1992
  566.              Restore protection even with no -X.
  567.      1.2-3   Cave Newt       17-oct-1992
  568.              Use ulg/ush/uch instead of ULONG/UWORD/byte; move return_VMS()
  569.              here from misc.c; replace return codes with PK_ macros
  570.      1.3     Mandrichenko    25-oct-1992
  571.              Extract "-V" saved files to screen; use mapattr() for non-VMS
  572.              protections
  573.  
  574. ==================
  575.  
  576. These changes occurred in beta versions 5.1a to 5.1p.  This list may have 
  577. left out some bugfixes and even some features...the brain cell is going, 
  578. folks (as Mark would say).  Apologies, etc.
  579.  
  580. Greg Roelofs (a.k.a. Cave Newt)
  581.